﻿using System;
using System.Collections.Generic;

namespace Whoot.UI
{
    public interface IUIKit : IService
    {
        IUILayerManager LayerManager { get; }
        IUIPanel OpenUI<T>(object param = null);
        IUIPanel OpenUI(Type type, object param = null);

        IUIPanel OpenUI<T>(string uiName, object param = null, Action<IUIPanel> callback = null);
        IUIPanel OpenUI(string uiName, Type type, object param = null, Action<IUIPanel> callback = null);
        IUIPanel GetUI(string uiName);
        void HideUI(string uiName);
        void DestroyUI<T>();
        void DestroyUI(Type type);
        void DestroyUI(string uiName);
        bool IsOpenWindow(string uiName);
        void HideAllWindows(bool isDotDel = false);
        void DeleteAllWindows(bool isDotDel = false);

        void Test();
    }
}